/**
 * @Description: Throws使用
 * @Author Stark
 * @Date 2022/1/21 23:10
 **/
public class ThrowsTest {
    public static void main(String[] args) {
        //        fun();
//        System.out.println("fun之后的代码");

        try{
            test();
        }catch (NullPointerException e){
            System.out.println("空指针异常");
            e.printStackTrace();
        }catch (ArrayIndexOutOfBoundsException e){
            System.out.println("数组越界");
            e.printStackTrace();
        }
    }

    //调用test方法有可能会产生空指针异常，但是此方法不处理此异常，谁调用谁处理
    private static void test() throws NullPointerException,ArrayIndexOutOfBoundsException{
        String str = null;
        System.out.println(str.length());
    }

    private static void fun() {
        //人为产生了一个空指针异常对象，抛出给调用者
        throw new NullPointerException("顺便抛个异常");
        //抛出异常后，方法就会结束
    }

}
